In provisioning information technology (IT), a plurality of information IT infrastructures (e.g., servers, networks, applications, and storages) are virtualized and are each dynamically assigned from one business process to another business process in accordance with a change in workload and the like. More particularly, a management server can utilize a workflow described in a dedicated script language to transmit a set of instructions to a respective one of the plurality of IT infrastructures, to thereby assign certain business processes to the respective IT infrastructures. A software product, Tivoli Intelligent Orchestrator®, available from International Business Machines Corporation of Armonk, New York is based on virtualization of the IT infrastructures and implements the provisioning, as well as the monitoring, of the IT infrastructures. It can also provide dynamic arrangement of the IT infrastructures according to a predetermined policy, and for the optimized application of the IT infrastructures.
In the case of remotely controlling the IT infrastructures by transmitting a workflow to a respective IT infrastructure from the management server, as described above, if there is a difference in locale between the management server and the IT infrastructures or between the IT infrastructures, the following countermeasures have conventionally been adopted. It is noted that the term locale generally refers to a set of language and notation rules of units, symbols, date, currency, and the like which are unique to a specific country or region and which is set in software. Further, designation of a code page (or character set) may be added to the combination of the language and the country/region as follows: ja_JP.eucJP.
According to a first countermeasure (see FIG. 10), workflows of the number corresponding to the number of locales of the IT infrastructures are prepared (three kinds of workflows for locales=ja_JP, en_US, and fr_FR, respectively, for example), and each workflow is made effective only to the IT infrastructure having the corresponding locale. Thus, the workflow for locale=ja_JP is made effective only to the IT infrastructure of locale=ja_JP, while it is made ineffective to the IT infrastructure of locale=en_US and that of locale=fr_FR. According to a second countermeasure (see FIG. 11), a workflow is divided into a portion independent from the locale and a portion dependent on the locale (locale-dependent portion), and in the workflow, conditional branching for each locale is used to call a sub-routine dependent on the corresponding locale. That is, in the parent processing of a workflow, if it is necessary to perform locale-dependent processing, the locale is determined and a sub-routine of the child processing associated with the locale (one of the three kinds of child processing for locales=ja_JP, en_US and fr_FR) is called.
With the above-described conventional countermeasures, however, there still exist technical problems. For the first countermeasure, it is necessary to prepare the workflows of the number corresponding to the number of the locales. Particularly when the number of locales is increased, it is necessary to newly prepare a workflow for each of the added locales. For the second countermeasure, although it may be unnecessary to prepare workflows of the number corresponding to the number of locales, it is still necessary to newly prepare the locale-dependent portions. Moreover, it is also necessary to hardcode the conditional branching by locales. The necessity of hardcoding of the conditional branching by locales means that such hardcoding of the conditional branching is usually required every time the number of locales increases.